// components/popup/popup.js
Component({
    /**
     * 组件的属性列表
     */
    properties: {
        // 控制弹窗显示与隐藏
        visible: {
            type: Boolean,
            value: true,
            observer: function (o) {
                if (!o) {
                    this.setData({
                        num: 0
                    })
                }
            }
        },
        detail: {
            type: Object,
            value: {
                img: [
                    '/images/banner/0383.jpg_wh300.jpg',
                    '/images/banner/8279.jpg_wh300.jpg',
                    '/images/banner/8283.jpg_wh300.jpg',
                    '/images/banner/9227.jpg_wh300.jpg'
                ],
                goods_price: 25,
                goods_count: 5,
            }
        }
    },

    /**
     * 组件的初始数据
     */
    data: {
        num: 0,
    },

    /**
     * 组件的方法列表
     */
    methods: {
        // 点击关闭
        close() {
            this.setData({
                visible: false,
                num: 0,
            })
            // console.log(this.data.num);
        },
        // 实现数量变化
        getCount(e) {
            const num = e.detail
            this.setData({
                num
            })
        },
        // 加入购物车
        handlCart() {
            const {
                num
            } = this.data
            const {
                detail
            } = this.properties
            if (detail.goods_count === 0) {
                wx.showToast({
                    title: '商品已售罄',
                    icon: 'error'
                })
            } else if (num === 0) {
                wx.showToast({
                    title: '至少选择一件商品',
                    icon: 'error'
                })
            } else {
                this.triggerEvent('handlCart', {
                    detail: {
                        ...detail,
                        num
                    }
                })
            }
        },
        // 购买
        handBuy() {
            const {
                num
            } = this.data
            const {
                detail
            } = this.properties
            if (detail.goods_count === 0) {
                wx.showToast({
                    title: '商品已售罄',
                    icon: 'error'
                })
            } else if (num === 0) {
                wx.showToast({
                    title: '至少选择一件商品',
                    icon: 'error'
                })
            } else {
                this.triggerEvent('handBuy', {
                    detail: {
                        ...detail,
                        num
                    }
                })
            }
        },
    }
})